package gdut.test02;

public class Lamda01 {
    public static void main(String[] args) {
//        Count匿名内部类写法
        int res = LamdaUtils.add(new Count() {
            @Override
            public int add(int num1, int num2) {
                return num1 + num2;
            }
        });
        System.out.println(res);
//        没有简化的lamda表达式写法
        res = LamdaUtils.add((int num1, int num2) -> {
            return num1 + num2;
        });
        System.out.println(res);
//        简化lamda表达式，参数类型可以不写，代码只有一句时，大括号、return、该句代码的分号可以省略
        res = LamdaUtils.add((num1, num2) -> num1 + num2);
        System.out.println(res);
//        PrintStr匿名内部类写法
        LamdaUtils.printStr(new PrintStr() {
            @Override
            public void handle(String s) {
                System.out.println(s);
            }
        });
//        lamda表达式写法
        LamdaUtils.printStr((String s) -> {
            System.out.println(s);
        });
//        lamda表达式简写,参数类型可以不写，只有一个参数时，小括号可以省略，
//        代码只有一句时，大括号、return、该句代码的分号可以省略
        LamdaUtils.printStr(s -> System.out.println(s));

    }
}
